#ifndef UC_BRBSTRAV_H
#define UC_BRBSTRAV_H 1

#include "zadesk.h"
#include "zrxobject.h"
#include "zrxboiler.h"
#include "ucbrgbl.h"
#include "ucbrtrav.h"


// forward class declarations
class UcBrBrep;
class UcBrShell;


class DllImpExp UcBrBrepShellTraverser : public UcBrTraverser
{
public:
    UCRX_DECLARE_MEMBERS(UcBrBrepShellTraverser);
    UcBrBrepShellTraverser();
    UcBrBrepShellTraverser(const UcBrBrepShellTraverser& src);
    ~UcBrBrepShellTraverser();

    // Assignment operator
    UcBrBrepShellTraverser& operator =(const UcBrBrepShellTraverser& src);

    // Queries & Initialisers
    UcBr::ErrorStatus   setBrepAndShell	(const UcBrShell& shell);
    UcBr::ErrorStatus   setBrep			(const UcBrBrep& brep);
    UcBr::ErrorStatus   getBrep			(UcBrBrep& brep) const;
    UcBr::ErrorStatus   setShell		(const UcBrShell& shell);
    UcBr::ErrorStatus   getShell		(UcBrShell& shell) const;
};


#endif

